#ifndef _STACK_TEST_
#define _STACK_TEST_

#include <cppunit/TestCase.h>
#include <cppunit/TestCaller.h>
#include <cppunit/ui/text/TestRunner.h>
/**
 * Die Klasse StackTest implementiert einen
 * einfachen TestCase zu den Stack-Funktionalitäten
 * in stack.hpp. Der Nachteil eines TestCase ist,
 * dass hier nur ein Test (in runTest()) durchgeführt
 * werden kann. Die Dokumentation von CppUnit empfielt
 * stattdessen die Nutzung von TestFixture und TestCaller,
 * weil die Nutzung dier Klassen mehr Flexibilität beim
 * Testen bieten.
 *
 * @author  Benjamin Friedrich, Ken Dahm
 * @version 1.0  07.01.2009
 */
class StackTest : public CppUnit::TestCase
{
public:
	/**
	 * Überschreibt die virtuelle Methode runTest() in der
	 * der eigentlich Test implementiert werden soll.
	 */
	virtual void runTest();

	/**
	 * Startet die den Test und gibt das Ergebnis des Testlaufs
	 * zurück.
	 *
	 * @return  true - Alle Tests waren erfolgreich, ansonsten false
	 */
	bool start();
};
#endif
